package org.zdc.pivot.wtk;
import nme.display.Graphics;
import nme.geom.Matrix;

/**
 * 定义组件“装饰器”的接口。装饰器允许调用者绑定附加的视觉效果到组件上。
 * 装饰器使用一个链型的prepare/update模型修改组件的外观。
 */
interface IDecorator 
{
	/**
	 * 
	 * @param	c
	 * @param	?g
	 */
	function prepare(c:Component, ?g:Graphics = null):Void;
	
	/**
	 * 
	 */
	function update():Void;
	
	/**
	 * 
	 * @param	c
	 */
	function getBounds(c:Component):Bounds;
	
	/**
	 * 
	 * @param	c
	 * @return
	 */
	function getTransform(c:Component):Matrix;
}